.\" 
.\" resgen manual page.
.\" (C) 2007 Novell, Inc. 
.\" Author:
.\"   Miguel de Icaza (miguel@gnu.org)
.\"
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.TH Mono "resgen"
.SH NAME
resgen, resgen2 \- Mono/CLI Resource Generator
.SH SYNOPSIS
.PP
.B resgen source.ext [dest.ext] 
.PP
.B resgen /compile source.ext[,dest.resources] [...]
.PP
.B resgen2 
.SH DESCRIPTION
Convert a resource file from one format to another.
.PP
The currently supported formats are text, resources, resx and po.
.TP
.I .txt, .text
.Sp
Used to process text files, the format of the text file is of the
form:
.nf

	key=value

.fi
The value argument can contain special characters as long as they are
escaped.   The escape sequences currently supported are \\n, \\r, \\t,
\\\\ (to get the escape sequence itself) and with resgen2 unicode
escape sequences are supported with the \\uXXXX escape sequence, where
XXXX is a four digit number. 
.Sp
Lines that start with the # or ; character are considered comments and
ignored.
.TP
.I '.resources'
.Sp
This is the binary file format implemented by the
\fISystem.Resources.ResourceReader\fR class, part of mscorlib.dll
.TP
.I '.resx'
.Sp
This is the binary file format implemented by the
\fISystem.Resources.ResXResourceReader\fR class.  This class is not
part of mscorlib.dll, this class is part of System.Windows.Forms.
.TP
.I '.po'.
.Sp
PO files are the source files used by the Unix gettext infrastructure
that is typically used to internationalize applications.
.Sp
Lines starting with the '#' character are comment lines. 
.Sp
The file contains many instance of strings like this:
.nf

     msgid KEY
     msgstr VALUE

.fi
The KEY is typically the string to translate and the VALUE is the
translation.  On PO files instead of using codes as the KEY (as it is
customary with resource files) the KEY is typically a complete english
message that applications embed in their source code and will be used
as a fallback if no translation resources are used.
.Sp
Since resources are key value pairs, the extended features in PO files
are not supported (plurals and support for N-cases).  
.Sp
To learn more about the po file format, use your info browser and
point it to the "(gettext)PO Files" node.
.PP
If the destination file is not specified, source.resources will be
used.
.PP
The /compile option takes a list of .resX or .txt files to convert to
.resources files in one bulk operation, replacing .ext with .resources for
the output file name.
.SH OPTIONS
.TP
.I "-compile"
.Sp
This switch instructs \fIresgen\fR to compile multiple files.  It must
appear before any resources are specified on the command line.
.TP
.I "-usesourcepath"
.Sp
This option is only available for \fIresgen2\fR, and it instructs resgen to
resolve relative paths using the directory of the resx file as current
directory.
.SH FILES
This program will load referenced assemblies from the Mono assembly
cache. 
.SH MAILING LISTS
Visit http://lists.ximian.com/mailman/listinfo/mono-devel-list for details.
.SH WEB SITE
Visit: http://www.mono-project.com for details
.SH SEE ALSO
.BR mcs (1),
.BR mono (1),
.BR mono-config (5)
